
package concurrent.mthread.liftoff;

import java.text.MessageFormat;

/**
 * @author scylla
 * @version V1.0
 * @Project echo-java-base
 * @Title 计数任务
 * @Description *
 * @Package concurrent.mthread
 * @Since 2021/7/26 2:54 下午
 */
public class LiftOff implements Runnable {

    protected int countDown = 10;
    private static int taskCount = 0;
    private final int id = taskCount++;

    public LiftOff() {
    }

    public LiftOff(int countDown) {
        this.countDown = countDown;
    }

    public String status() {
        return MessageFormat.format("# {0} ( {1} )", id, countDown > 0 ? countDown : "LiftOff!");
    }

    @Override
    public void run() {
        while (countDown-- > 0) {
            System.out.println(status());
            Thread.yield();
        }
    }
}
